package com.lagou.work.task03.angel.jobService.serverService;

import com.lagou.work.task03.angel.job.impl.JobServiceImpl;

import java.net.ServerSocket;

/**
 * @author：dingyuan
 * @date：2022.4.5 21:15
 * @description：模拟分布式计算-服务端功能抽象类
 */
public abstract class JobServerBase {

    /**
     * @description：服务端入口
     * @param port
     * @throws Exception
     */
    public void run(int port) throws Exception {

            JobServiceImpl jobService = new JobServiceImpl();
            ServerSocket jobServer = jobService.getJobServer(port);
            handleJob(jobServer);

    }

    /**
     * @description：服务端处理逻辑
     * @param jobServer
     * @throws Exception
     */
    public abstract void handleJob(ServerSocket jobServer) throws Exception;
}
